package com.lbw.service;

import com.lbw.entity.QuestionEntity;
import com.lbw.entity.TestEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lbw.vo.TestQuestionVo;
import com.lbw.vo.TestScoreVo;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lbw
 * @since 2020-09-13
 */
public interface TestEntityService extends IService<TestEntity> {

    /**
     * 抽取在线测试题目，不分单元
     * @param testNum 测试编号
     * @param questionTableNum 题目表
     * @param subjectId 科目编号
     */
    //TestEntity selectOnlineTest(String testNum,String questionTableNum,String subjectId);
    /**
     * 抽取在线测试题目，按章节测试
     * @param testNum 测试编号
     * @param questionTableNum 题目表
     * @param type 科目编号
     * @param chapterId 章节编号
     */
    TestEntity selectOnlineTestChapter(String testNum, String questionTableNum, Integer type, String chapterId);
    /**
     * 抽取在线测试题目，按章节测试
     */
    boolean extractOnlineTestChapter(TestQuestionVo testQuestionVo);

    /**
     * 展示测试列表，根据章节、科目
     * @param type 科目id
     * @param chapterId 章节id
     * @return 测试数据
     */
    List<TestEntity> showTestList(Integer type, String chapterId);

    /**
     * 统计测试分数以及测试错题，及错误答案
     */
    boolean countTestScore(TestScoreVo testScoreVo);

    /**
     * 如果为申论题目则从es中查询是否正确，返回给前端
     */
    QuestionEntity countCommentQuestion(String questionId, String myAnswer, Integer type,String stuId) throws IOException;
}
